package com.itheima.filter1;


import javax.servlet.*;
import java.io.IOException;

public class BaoAnFilter implements Filter {
    @Override
    public void init(FilterConfig filterConfig) throws ServletException {

    }

    /**
     * 这个方法就是实现拦截 资源的方法
     * @param servletRequest   拦截资源的请求
     * @param servletResponse  拦截资源的响应
     * @param filterChain     保安--就是试试 是否放行关卡
     * @throws IOException
     * @throws ServletException
     */
    @Override
    public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
       //我们可以解析 请求对象 也可以解析响应对象

        System.out.println("保安问:请打开你的健康码！！");
        // 怎么实施放行？
       //   解析请求对象
        String jiankangma = servletRequest.getParameter("jiankangma");
        //检查健康码
        if("green".equals(jiankangma)){//绿码

            System.out.println("同学 你是绿码，可以进入教室");
            // 放行 可以进入到 383教室
            // 也就是可以访问到 helloServlet
            // 保安放行 ---
            //就是把这次请求和响应对象 放行给 资源
            filterChain.doFilter(servletRequest,servletResponse);
        }else{
            System.out.println("同学，你回去找居委会隔离");
            //拿到响应对象 直接完成一个响应
            servletResponse.setContentType("text/html;charset=utf-8");
            servletResponse.getWriter().write("已经上报，请主动隔离");

        }
    }

    @Override
    public void destroy() {

    }
}
